Digital watermarking is a process for modifying physical or electronic media to embed a hidden machine-readable code into the media. The media may be modified such that the embedded code is imperceptible or nearly imperceptible to the user, yet may be detected through an automated detection process. Most commonly, digital watermarking is applied to media signals such as images, audio signals, and video signals. However, it may also be applied to other types of media objects, including documents (e.g., through line, word or character shifting), software, multi-dimensional graphics models, and surface textures of objects.
Digital watermarking systems typically have two primary components: an encoder that embeds the watermark in a host media signal, and a decoder that detects and reads the embedded watermark from a signal suspected of containing a watermark (a suspect signal). The encoder embeds a watermark by subtly altering the host media signal. The reading component analyzes a suspect signal to detect whether a watermark is present. In applications where the watermark encodes information, the reader extracts this information from the detected watermark.
Several particular watermarking techniques have been developed. The reader is presumed to be familiar with the literature in this field. Particular techniques for embedding and detecting imperceptible watermarks in media signals are detailed in the assignee's U.S. Pat. Nos. 6,122,403, 6,614,914 and 6,674,876, which are hereby incorporated by reference. In this document, we use the term “watermark” to refer to a digital watermark.
In some applications, digital watermarks carry a content identifier that identifies the content (e.g., image, song, or program identifier). In such applications, each version of the content has the same watermark signal, and if two or more pieces of the content are averaged together, the watermark remains the same. This happens since two or more identical watermarks are averaged, resulting in the same watermark signal. In addition, watermark embedders in such a scheme are often designed to prevent a new content ID from being embedded over a content signal containing an existing content ID. Thus, the watermark embedder cannot be used to over-embed the existing watermark with a different content ID.
However, watermarks can be used to forensically track every place the content has been received and/or viewed by embedding a watermark at every receiving and/or viewing system that identifies that system. For example, a cable set top box (STB) can embed the 32-bit smart card ID into every premium movie received as a forensic watermark. A database protected for privacy can be maintained by the manufacturer of the smart card system that links this 32 bit ID to the user's name and address. If illegitimate movies are found by content owners, this forensic watermark can be read from these movies, and used to obtain a search warrant to obtain the user's name and address from the manufacturers database.
In this configuration, different watermarks can be embedded in identical content, and different watermarks can be embedded in one piece of content. Expanding the example above, one premium movie will have two different 32 bit IDs when received by two different STBs. Similarly, if the STBs share movies, as done with the SonicBLUE ReplayTV 4000, a movie that is sent from one STB to another can have two different forensic watermarks, known as generational forensic tracking.
As such, pirates can use averaging or over-embedding to disable watermark detection with many watermark protocols. Continuing with the above example, two or more STBs could be owned by a pirate, who averages the output video in a video mixer to remove many watermarking methods. Similarly, the pirate could pass the video sequentially through two or more STBs to stop watermark detection with many methods by overlaying several watermarks on top of each other.
The example architecture used above is applicable to broadcasts, where the forensic watermark embedder must be located in the broadcast receiver, which is usually a consumer device inside the home. For Internet streaming, the embedder can be located in the stream server since current unicast methods use point-to-point connections. Alternatively, the embedder can be located in the receiving device, once again, probably inside a PC within the consumer's home. The latter method will enable forensic tracking for multicast Internet streams.
This document describes several different methods of forensic digital watermarking. In one embodiment, an embedding method selects an orientation for a forensic digital watermark signal to be embedded in the content signal. It then embeds the forensic digital watermark signal at the selected orientation in the content signal. The embedding method applies a different orientation to the digital forensic watermark for each instance of embedding the watermark.
There are number of variations and enhancements to this method of embedding a forensic digital watermark. For example, the embedder may insert the forensic watermark for each instance of embedding using different random carrier or mapping keys, different segmenting in time for time-based content, such as audio and video, and/or different segmenting over space for space-based content, such as images and video. The variations in embedding of the forensic watermark allow several different forensic watermarks to exist in content without confusing the detector. In some embodiments, the randomization for each embedding process in these approaches improves the resistance to averaging and over-embedding attacks.
In addition, this method enables generational forensic tracking because it allows multiple forensic watermarks to co-exist in the same content signal and still be detected accurately.
The digital watermark embedding protocols can be designed such that if content is shared, causing it to be embedded with two or more forensic watermarks, the quality of the content degrades. If it requires several embedders to make the watermark unrecoverable with averaging or over-embedding attacks, the resulting content is degraded and of reduced value.
These methods, along with purely randomization of gain or location, also make it more difficult to locate watermarks in content where the watermark and payload remain constant. For this situation, the collusion attack involves averaging the content such that the watermark's energy relative to the content increases and thus, is easier to estimate. By randomizing its gain or location, the simple subtraction of the estimate from the content is not effective, because in locations where no watermark is embedded, this results in a negative watermark, which can still be read. This can be applied to audio, video, images, in time, space and/or frequency, such as, for example, randomizing location of a watermark by skipping embedding in some randomly selected video frames.
Further features will become apparent with reference to the following detailed description and accompanying drawings.